package ar.com.age.distribuidora.presentacion.controller;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.primefaces.context.RequestContext;

import ar.com.age.distribuidora.dominio.ListaDePrecio;
import ar.com.age.distribuidora.presentacion.util.ServiceLocator;

@ManagedBean
@SessionScoped
public class EditarListaDePrecioBean {

	private ListaDePrecio listaDePrecioSeleccionado;  
    
    private ListaDePrecio listaDePrecioSeleccionadoDetalles;

	public ListaDePrecio getListaDePrecioSeleccionado() {
		return listaDePrecioSeleccionado;
	}

	public void setListaDePrecioSeleccionado(ListaDePrecio listaDePrecioSeleccionado) {
		this.listaDePrecioSeleccionado = listaDePrecioSeleccionado;
	}

	public ListaDePrecio getListaDePrecioSeleccionadoDetalles() {
		return listaDePrecioSeleccionadoDetalles;
	}

	public void setListaDePrecioSeleccionadoDetalles(
			ListaDePrecio listaDePrecioSeleccionadoDetalles) {
		this.listaDePrecioSeleccionadoDetalles = listaDePrecioSeleccionadoDetalles;
	}  
    
    
	public String actualizarListaDePrecio() {
		
		ServiceLocator.getListaDePrecioService().crearOEditarListaDePrecio(this.listaDePrecioSeleccionado);
		this.listaDePrecioSeleccionado = null;
		
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Gerente",  "Lista de Precio editado con exito.");  
        
        FacesContext.getCurrentInstance().addMessage(null, message);  
		return "/mensajeExitoso";		
	}
	
	public String editarListaDePrecio() {
		
		if (this.listaDePrecioSeleccionado != null) {

			return "editarListaDePrecio";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}
	
	public String eliminarListaDePrecio() {
		
		if (this.listaDePrecioSeleccionado != null) {

			ServiceLocator.getListaDePrecioService().eliminarListaDePrecio(this.listaDePrecioSeleccionado);
			return "/mensajeExitoso";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}

}
